Tool - Supported Parallel Application Development
نویسندگان
چکیده
Our goal is to ease the parallelization of applications on distributed-memory parallel processors. Part of our team is implementing parallel kernels common to industrially significant applications using High Performance Fortran (HPF) and the Message Passing Interface (MPI). They are assisted in this activity by a second group developing an integrated tool environment, Annai, consisting of a parallelization support tool, a debugger, and a performance monitor and analyzer. These two groups interact closely, with application developers defining requirements and evaluating prototypes of the tool environment. The Annai environment is unique in providing a suite of generalpurpose tools for scientific application development, encompassing comprehensive support for programming irregular problems and the debugging and tuning of HPF and/or MPI-based parallel programs. Addressing application developer requirements, while making leading-edge technology available in a genuinely-usable form, has resulted in the timely provision of powerful parallel programming tools. This paper describes goals, achievements and perspectives of the project, illustrating with specific case studies of three application kernels how the tool environment assists in the parallelization process: development effort and resulting performance are discussed.
منابع مشابه
An Evaluation Methodology for Parallel/Distributed Software Tools
The recent rapid growth of the network computing applications area has been accelerated by a variety of parallel and distributed computing (PDC) software tools that simplify process management, inter-process communication, and program debugging in a PDC environment. This variety of software tools varies signi cantly in terms of the application domain targeted and corresponding functionality pro...
متن کاملApplication-Driven Development of an Integrated Tool Environment for Distributed-Memory Parallel Processors
The Joint CSCS-ETH/NEC Collaboration in Parallel Processing comprises the development of an integrated tool environment together with applications and algorithms for distributed-memory parallel processors (DMPPs). Tool and application developers interact closely: the requirements of the tools are defined by the needs of the application developers, and once an application requirement becomes an ...
متن کاملActive Suspension System in Parallel Hybrid Electric Vehicles
In previous studies, active suspension system in conventional powertrain systems was investigated. This paper presents the application of active suspension system in parallel hybrid electric vehicles as a novel idea. The main motivation for this study is investigation of the potential advantages of this application over the conventional one. For this purpose, a simultaneous simulation is develo...
متن کاملRuntime MPI Correctness Checking with a Scalable Tools Infrastructure
Increasing computational demand of simulations motivates the use of parallel computing systems. At the same time, this parallelism poses challenges to application developers. The Message Passing Interface (MPI) is a de-facto standard for distributed memory programming in high performance computing. However, its use also enables complex parallel programing errors such as races, communication err...
متن کاملSoftware Tools for Developing Parallel Applications, Part 1: Code Development and Debugging
Developing an application for parallel computers can be a lengthy and frustrating process making it a perfect candidate for software tool support. Yet application programmers are often the last to hear about new tools emerging from R&D efforts. This paper provides an overview of two focuses of tool support: code development and debugging. Each is discussed in terms of the programmer needs addre...
متن کامل